#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QStandardItemModel>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void selectFile();  // 选择文件并在 textEdit 中显示路径
    void uploadFile();  // 上传文件到服务器
    void downloadFile();  // 从服务器下载文件

private:
    void uploadFileToServer(const QString &serverAddress, quint16 serverPort, const QString &filePath);  // 将文件上传到服务器
    void requestFileList(const QString &serverAddress, quint16 serverPort);  // 请求服务器的文件列表
    void downloadFileFromServer(const QString &serverAddress, quint16 serverPort, const QString &fileName, const QString &savePath);  // 从服务器下载文件
    void updateFileListView(const QStringList &fileList);  // 更新文件列表视图

    Ui::Widget *ui;
    QStandardItemModel *model;
};

#endif // WIDGET_H
